package com.toonan.system.dao;

import java.util.Collection;
import java.util.List;

import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;

import com.toonan.core.mongo.BaseMongo;
import com.toonan.core.util.WebplusMongo;
import com.toonan.core.util.WebplusUtil;
import com.toonan.system.model.RoleMenu;

@Service
public class RoleMenuDao extends BaseMongo<RoleMenu>{

	@Override
	protected Class<RoleMenu> getEntityClass() {
		// TODO Auto-generated method stub
		return RoleMenu.class;
	}
	/**
	 * 
	 * 简要说明：批量插入
	 * 编写者：陈骑元（chenqiyuan@toonan.com）
	 * 创建时间： 2022年3月2日 下午10:40:18 
	 * @param 说明
	 * @return 说明
	 */
    public boolean 	batchInsert(List<RoleMenu> roleMenuList){
		
    	Collection<RoleMenu> newList=this.mongoTemplate.insert(roleMenuList, this.getEntityClass());
    	if(WebplusUtil.isNotEmpty(newList)) {
    		return true;
    	}
    	return false;
	}
    /**
     * 
     * 简要说明：通过角色编号查询授权的菜单
     * 编写者：陈骑元（chenqiyuan@toonan.com）
     * 创建时间： 2022年3月5日 下午10:20:00 
     * @param 说明
     * @return 说明
     */
    public List<String> listRoleMenuId(String roleId){
    	Query query=WebplusMongo.eq("roleId", roleId);
    	List<RoleMenu> roleMenuList=this.mongoTemplate.find(query, this.getEntityClass());
    	
    	return WebplusUtil.getListByKey(roleMenuList, "menuId");
    }
    
    /**
     * 
     * 简要说明：通过角色编号查询授权的菜单
     * 编写者：陈骑元（chenqiyuan@toonan.com）
     * 创建时间： 2022年3月5日 下午10:20:00 
     * @param 说明
     * @return 说明
     */
    public List<String> listRoleMenuId(List<String> roleIdList){
    	Query query=new Query();
    	WebplusMongo.in(query, "roleId", roleIdList);
    	List<RoleMenu> roleMenuList=this.mongoTemplate.find(query, this.getEntityClass());
    	
    	return WebplusUtil.getListByKey(roleMenuList, "menuId");
    }
}
